package com.plugin; /**
 * 插件管理器接口，定义插件管理的基本操作
 */
import java.util.List;

public interface PluginManager {
    void downloadPlugin(String pluginUrl) throws Exception;
    void installPlugin(String pluginId) throws Exception;
    void uninstallPlugin(String pluginId) throws Exception;
    void startPlugin(String pluginId) throws Exception;
    void stopPlugin(String pluginId) throws Exception;
    
    List<Plugin> getInstalledPlugins();
    List<PluginInfo> getAvailablePlugins();
    Plugin getPluginById(String pluginId);
    boolean isPluginRunning(String pluginId);
    
    void addPluginListener(PluginListener listener);
    void removePluginListener(PluginListener listener);
}
